package com.fy.common.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @author zhshuo
 * @date 2021/12/20 15:43
 */
@Data
@ApiModel("群信息编辑")
@Accessors(chain = true)
public class GroupInfoDto {

    /**
     *
     */
    @ApiModelProperty("群ID")
    private Long groupId;

    /**
     *
     */
    @ApiModelProperty("群名字")
    private String groupName;

    /**
     *
     */
    @ApiModelProperty("群描述")
    private String groupDesc;

    /**
     *
     */
    @ApiModelProperty("群头像")
    private String avatar;


    /**
     * 是否允许加入;true 允许 false 不允许
     */
    @ApiModelProperty(value="是否允许加入;true 允许 false 不允许")
    private Boolean allowJoin;

    /**
     * 加群方式;1 审核加群 2 无需审核加群  3
     */
    @ApiModelProperty(value="加群方式;1 审核加群 2 无需审核加群  3")
    private Integer joinWay;

    /**
     * 是否允许设置管理员;true 允许 false 不允许
     */
    @ApiModelProperty(value="是否允许设置管理员;true 允许 false 不允许")
    private Boolean allowManager;

    /**
     * 背景
     */
    @ApiModelProperty(value="背景")
    private String background;

    /**
     * 是否展示群昵称
     */
    @ApiModelProperty(value="是否展示群昵称")
    private Boolean showNick;

    /**
     * 成员保护模式
     */
    @ApiModelProperty(value="成员保护模式")
    private Boolean memberProtected;

    /**
     * 群成员禁言
     */
    @ApiModelProperty(value="群成员禁言")
    private Boolean memberDisableChat;

    /**
     * 禁止加入
     */
    @ApiModelProperty(value="禁止加入")
    private Boolean joinDisable;

    /**
     * 禁止群成员加群主
     */
    @ApiModelProperty(value="禁止群成员加群主")
    private Boolean disableAddMaster;

    /**
     * 加群审核
     */
    @ApiModelProperty(value="加群审核")
    private Boolean joinVerify;

    /**
     * 管理员权限加群审核;加群审核 禁言 群成员保护 删除成员 修改群名
     */
    @ApiModelProperty(value="管理员权限加群审核;加群审核 禁言 群成员保护 删除成员 修改群名")
    private Boolean managerJoinVerify;

    /**
     * 管理员权限 禁言
     */
    @ApiModelProperty(value="管理员权限 禁言")
    private Boolean managerDisable;

    /**
     * 管理员权限 群成员保护
     */
    @ApiModelProperty(value="管理员权限 群成员保护")
    private Boolean managerMemberProtected;

    /**
     * 管理员权限删除成员
     */
    @ApiModelProperty(value="管理员权限删除成员")
    private Boolean managerMemberDel;

    /**
     * 管理员权限群重命名
     */
    @ApiModelProperty(value="管理员权限群重命名")
    private Boolean managerGroupRename;

    /**
     * 聊天 类型文字;文字 图片 文件 连接 语音 视频
     */
    @ApiModelProperty(value="聊天 类型文字;文字 图片 文件 连接 语音 视频")
    private Boolean chatText;

    /**
     * 聊天 图片
     */
    @ApiModelProperty(value="聊天 图片")
    private Boolean chatPicture;

    /**
     * 聊天 文件
     */
    @ApiModelProperty(value="聊天 文件")
    private Boolean chatFile;

    /**
     * 聊天 链接
     */
    @ApiModelProperty(value="聊天 链接")
    private Boolean chatHref;

    /**
     * 聊天 语音
     */
    @ApiModelProperty(value="聊天 语音")
    private Boolean chatVoice;

    /**
     * 聊天 视频
     */
    @ApiModelProperty(value="聊天 视频")
    private Boolean chatVideo;


}
